unit ulab9_4;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls, Grids;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Memo1: TMemo;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end; 

var
  Form1: TForm1; 

implementation
uses UINTEG;

{Підінтегральна функція}
Function F1(x: real; t:integer): real;far;
begin
 Result:= stup(tg(x), 2*t);
end;

{ TForm1 }
{Обробник кнопки Вихід}
procedure TForm1.Button2Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     {Встановлюємо верхню границю інтегрування рівною Pi/4 за замовчуванням}
  Edit2.Text:=FloatToStr(Pi/4);
end;

{Обробник кнопки Обчислити}
procedure TForm1.Button1Click(Sender: TObject);
VAR	a, b, e: real;
        i, t, t1, t2, h:integer;
	i1: real;
begin
      {Введення початкових даних}
      a:=StrToFloat(Edit1.Text);
      b:=StrToFloat(Edit2.Text);
      e:=StrToFloat(Edit3.Text);
      t1:=StrToInt(Edit4.Text);
      t2:=StrToInt(Edit5.Text);
      h:=StrToInt(Edit6.Text);

     {Виведення результату}

      t:=t1;i:=1;
      while (t<=t2) do
            begin
            if ComboBox1.Text='Трапецій' then i1:=Mtrap(a, b, e, t, @F1);
            if ComboBox1.Text='Сімпсона' then i1:=Msimp(a, b, e, t, @F1);
            if ComboBox1.Text='Прямокутників' then i1:=Mpryamokut(a, b, e, t, @F1);
            StringGrid1.Cells[0,i]:=FloatToStr(t);
            StringGrid1.Cells[1,i]:=FloatToStr(i1);
            t:=t+h;
            i:=i+1;
            end;
end;

initialization
  {$I ulab9_4.lrs}

end.

